﻿//*** Guidance generated code ***//
using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;

namespace $safeprojectname$.Web
{
    /// <summary>
    ///     Descriptor for object which will be used as a datasource
    ///     for every row in the ListWC.ascx
    /// </summary>
    public interface IItemToDisplay
    {
        /// <summary>
        ///     The ID of current Persistent object
        /// </summary>
        string ID { get; set; }

        /// <summary>
        ///     Collection with all items to be displayed in columns for current row.
        ///     HeaderName and Value are enough.
        ///     Other settings can be used on UI to render better output ...
        /// </summary>
        IList<ICellDescription> Items { get; set; }

        /// <summary>
        ///     Item.ToDisplay(); allows display the item description when
        ///     delete confimation dialogue appears
        /// </summary>
        string Description { get; set; }

        /// <summary>
        ///     Allows to decorate every row with suitable business-understandable color
        ///     Default should be string.Empty
        /// </summary>
        string TableRowCss { get; set; }

        bool CanBeEdited { get; set; }
        bool CanBeDeleted { get; set; }


    }
}